package com.qili.entity.zx;

import com.qili.annotation.Mean;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.stereotype.Component;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * supervisor_project
 * @author
 */
@Table(name = "zx_project")
@Data
@ToString
@EqualsAndHashCode
@Component
public class ZxProject implements Serializable {
    @Id
    @Column(name = "id")
    private String id;

    /**
     * 项目来源
     */
    @Mean(value = "项目来源")
    @Column(name = "project_source")
    private String projectSource;

    /**
     * 项目
     */
    @Column(name = "project")
    private String project;

    /**
     * 项目类型
     */
    @Mean(value = "项目类型")
    @Column(name = "project_type")
    private String projectType;

    /**
     * 项目名称
     */
    @Mean(value = "项目名称")
    @Column(name = "project_name")
    private String projectName;

    /**
     * 总工期开始时间
     */
    @Mean(value = "总工期开始时间")
    @Column(name = "total_duration_begin_date")
    private String totalDurationBeginDate;

    /**
     * 投资额 二次修改
     */
    @Mean(value = "投资额")
    @Column(name = "tz_money")
    private String tzMoney;

    /**
     * 总工期结束时间
     */
    @Mean(value = "总工期结束时间")
    @Column(name = "total_duration_end_date")
    private String totalDurationEndDate;

    /**
     * 项目分包数量
     */
    @Column(name = "fb_num")
    private String fbNum;

    /**
     * 项目归属
     */
    @Mean(value = "项目归属")
    @Column(name = "project_owner")
    private String projectOwner;

    /**
     * 实施地点（省）
     */
    @Mean(value = "合同签订地点(省)")
    @Column(name = "province")
    private String  province;

    /**
     * 实施地点（城市）
     */
    @Mean(value = "合同签订地点(城市)")
    @Column(name = "city")
    private String city;
    /**
     * 实施地点（区县）
     */
    @Mean(value = "合同签订地点(区县)")
    @Column(name = "county")
    private String county;

    /**
     * 业主单位
     */
    @Mean(value = "业主单位")
    @Column(name = "ower_company")
    private String owerCompany;

    /**
     * 行业类型
     */
    @Mean(value = "行业类型")
    @Column(name = "hy_type")
    private String hyType;

    /**
     * 技术负责人
     */
    @Mean(value = "技术负责人")
    @Column(name = "technology_person")
    private String technologyPerson;

    /**
     * 监理单位
     */
    @Mean(value = "监理单位")
    @Column(name = "supervisor_company")
    private String supervisorCompany;

    /**
     * 总监理工程师
     */
    @Column(name = "supervisor_engineer")
    private String supervisorEngineer;

    /**
     * 监理工程师
     */
    @Column(name="second_supervisor_engineer")
    private String secondSupervisorEngineer;

    /**
     * 项目经理
     */
    @Mean(value = "咨询项目经理")
    @Column(name = "project_manager_person")
    private String projectManagerPerson;

    /**
     * 咨询合同额
     */
    @Mean(value = "咨询合同额")
    @Column(name = "ht_money")
    private String htMoney;

    /**
     * 监理已支付额
     */
    @Column(name = "jl_pay_money")
    private String  jlPayMoney;

    /**
     * 监理发票金额
     */
    @Column(name = "jl_invoice_money")
    private String jlInvoiceMoney;

    /**
     * 项目状态
     */
    @Column(name = "status")
    private String  status;

    /**
     * 项目 进度
     */
    @Column(name = "progress")
    private String progress;

    /*
    * 总工期
    * */
    @Mean(value = "总工期")
    @Column(name = "total_date")
    private String totalDate;

    /*
    * 项目创建时间
    * */
    @Column(name ="create_date")
    private Date createDate;
    /*
     * 项目创建人
     * */
    @Column(name ="create_by")
    private String createBy;

    /**
     *  业务类型（监理、咨询、检测）
     */
    @Column(name = "yw_type")
    private String ywType;
    /**
     *  监理形式
     */
    @Mean(value = "业务类型")
    @Column(name = "check_shape")
    private String checkShape;
    /**
     *  是否续签
     */
    @Mean(value = "是否续签")
    @Column(name = "is_continue")
    private String isContinue;
    /**
     *  合同编号
     */
    @Mean(value = "合同编号")
    @Column(name = "contract_no")
    private String contractNo;

    /**
     *  内部合同编号
     */
    @Mean(value = "内部合同编号")
    @Column(name = "inside_contract_no")
    private String insideContractNo;

    /**
     *  采购/项目编号
     */
    @Mean(value = "采购/项目编号")
    @Column(name = "pay_or_project_no")
    private String payOrProjectNo;

    /*咨询合同名称*/
    @Mean(value = "咨询合同名称")
    @Column(name = "jl_ht_name")
    private String jlHtName;

    /*提交时间*/
    @Column(name = "commit_date")
    private String commitDate;
    /*提交人*/
    @Column(name = "commit_by")
    private String commitBy;
    /*记录删除前的状态*/
    @Column(name = "old_status")
    private String oldStatus;

    /**
     *  是否需要招投标
     */
    @Mean(value = "是否需要招投标")
    @Column(name = "bidding_required")
    private String biddingRequired;

    /**
     *  是否已招标
     */
    @Mean(value = "是否已招标")
    @Column(name = "has_invite_bids")
    private String hasInviteBids;

    /**
     *  是否已签合同
     */
    @Mean(value = "是否已签合同")
    @Column(name = "has_contract_signed")
    private String hasContractSigned;

    /**
     *  是否有首付款
     */
    @Mean(value = "是否有首付款")
    @Column(name = "has_down_payment")
    private String hasDownPayment;

    /**
     *  合同签订时间
     */
    @Mean(value = "合同签订时间")
    @Column(name = "contract_sign_time")
    private String contractSignTime;

    /**
     * 项目结束时间
     */
    @Column(name = "finish_date")
    private String finishDate;
    /**
     * 启动时间
     */
    @Column(name = "start_time")
    private String startTime;

    /**
     * 供需表Id
     */
    @Column(name = "sup_project_id")
    private String supProjectId;

    /**
     * 咨询行业负责人
     */
    @Mean(value = "咨询行业负责人")
    @Column(name = "industry_person")
    private String industryPerson;

    /**
     * 咨询顾问
     */
    @Mean(value = "咨询工程师")
    @Column(name = "zx_adviser")
    private String zxAdviser;

    /**
     * 付款方式
     */
    @Mean(value = "付款方式")
    @Column(name = "fk_type")
    private String fkType;




    @Column(name = "upload_begin_time")
    private String uploadBeginTime;



    @Column(name = "upload_last_time")
    private String uploadLastTime;






    private static final long serialVersionUID = 1L;
}
